Different cultures of the world may have their own calendar systems that have been developed throughout each culture's history and often based on each culture's religion. Common calendar systems used throughout the world today include the Gregorian Calendar (the common calendar system used in the United States and Europe), the Islamic (referred to as the Hijri) Calendar, the Jewish (or Hebrew Lunar) Calendar, the Chinese Calendar, and the Hindu (also referred to as the Saka Era) Calendar.
The various calendar systems of the world often differ from each other in significant details, such as the first day of the year, the number of days in a month, the number of days in a year, the number of months in a year, when the months start and end with respect to a year, and when the first year of the calendar system occurred. Often, these details were determined over the history of the culture using the calendar system and have both historical and religious significance.
One common feature, however, of the various calendar systems is the use of the 24-hour day as a basic element. This commonality allows a historical date in one calendar system to be converted to a date in another calendar system. For example, the Hijri calendar is based on the lunar year of 354 days. The number of days each month is adjusted according to the lunar cycle, beginning about two days after the new moon. Because the solar year is approximately 365 days long, the months drift backward over the seasons, beginning again on the same day every 321/2 solar years. The Hijri Calendar year is counted from the year of the Hegira (anno Hegirae or A.H.)—the year in which Muhammad emigrated from Mecca to Medina (which in the Gregorian Calendar occurred in the year A.D. 622). Thus, the year A.D. 2004 in the Gregorian Calendar translates to the years A.H. 1424-1425 in the Hijri Calendar because of the different number of days in a year between the two calendar systems.
As another example, in the Chinese Calendar the lunar year is divided into 12 months of 29 or 30 days. The calendar is adjusted to the length of the solar year by the addition of extra months at regular intervals. The years are arranged in major cycles of 60 years. Each successive year is named after one of 12 animals. These 12-year cycles are continuously repeated. The Chinese New Year is celebrated at the second new moon after the winter solstice and falls between January 21 and February 19 on the Gregorian Calendar. The year A.D. 2004 in the Gregorian Calendar translates to the Chinese year 4701-4702.
Algorithms to convert past dates between calendar systems have been developed and are known in the art. See, e.g., J. E. Ahlquist, Calendars and Software, BULLETIN OF THE AMERICAN METEOROLOGICAL SOCIETY, vol. 81, p. 69-74 for a conversion of past dates between the Julian (old roman) Calendar and the modern Gregorian Calendar. Such conversions are relatively easy to develop because the past is fixed.
Conversion of future dates between calendar systems is more difficult because many calendar systems vary over time. In the Hijri Calendar, for example, the number of days in a future month are not known for certain because they vary based on the lunar cycle. While estimates may be made, future dates in many calendar systems often involve a certain amount of uncertainty (such as what day of the week on which they will fall, for example). This uncertainty also affects the ability to accurately convert future dates in one calendar system to another calendar system. Therefore, even though estimating algorithms for converting future dates are also known in the art (see, e.g., Derchowitz, et. al., Calendrical calculations, SOFTWARE—PRACTICE AND EXPERIENCE, vol. 20, no. 9, September 1990, p. 899-928 for conversion algorithms for the Gregorian, Jewish, Hijri, International Standard Organization, and Julian Calendars), the algorithms are only estimates because many calendar systems occasionally adjusted by human determinations of religious or physical events—such as did the moon rise before or after dawn as determined by a specific viewer at a given location.
In the modern world, a person involved with global business often must correlate between two or more calendar systems: a personal calendar system the person lives by (often determined based on the person's religion, culture, or place of origin), and a calendar system of the business relation with which the person does business. For example, a Muslim living in the United States may order his personal life using the Hijri Calendar, but may work and conduct business in the Gregorian Calendar used in United States. As another example, a Hindi based in Madras but working with British customers would be tracking dates in both the local Hindu Calendar and the Gregorian Calendar of the British customers.
Computer calendaring software and other computing devices with calendaring features are now available to assist users in tracking holidays, appointments, and other events. Typical computer calendaring software avoids the issue of converting dates between calendar systems by being limited to only one calendar system. A user who wishes to convert future dates into or from another calendar system must do so manually. The user also is responsible for identifying any calendar changes or adjustments (such as the addition of a day to a month) in one or the other calendar system that changes future date conversions in order to keep the conversion accurate. For example, a Gregorian Calendar user who wishes to record in calendaring software a future event (such as a meeting, deadline, or appointment) that recurs monthly on the Hijri Calendar needs to manually convert each occurrence of the event on the Hijri Calendar into a Gregorian Calendar date and input that Gregorian date into the Gregorian calendaring software as a single event. In addition to the manual conversion, the user also must manually update the dates of the occurrences on the Gregorian Calendar whenever an extra day is inserted into a Hijri month.
This is inefficient for a number of reasons. First, a recurring event in a first calendar system must be converted into and stored thereafter as some number of standalone events in the calendar system displayed by the calendaring software. Because multiple standalone, or “single” events require more data than one recurring event, this results in a much larger calendar data set for the displayed calendar. In addition, these single events must be continuously updated (manually by the user) over time to adjust to changes that may occur in either one of or both calendars calendar. The user must also manually change every single event if the underlying recurring event in the first calendar system changes.
Another problem is quickly correlating dates between two systems. For example, a calendar user may wish schedule an event on some date in the future, but not wish to schedule that event during one or more recurring dates in a secondary calendar. The current calendar software requires the user to either convert the secondary calendar recurring events into some number of single events and populate the calendar software with the single events manually (allowing the user to see the secondary calendar dates as single events on one display, which also allows the user to take advantage of the calendar software conflict detection features), or to manually attempt to visually correlate between the calendaring software calendar display and a hardcopy calendar display, date list, or some other source of secondary calendar information.